ICTPRG401
Maintain open-source code programs


Application

This unit describes the skills and knowledge required to contribute as a member of an open-source software project community, and to maintain open-source code.

It applies to individuals working in software and system development, and maintenance. They may work as open-source software developers who are required to build, test and distribute open-source software applications, or as programmers responsible for integrating open-source components, tools or technologies into their applications.

No licensing, legislative or certification requirements apply to this unit at the time of publication.


Elements and Performance Criteria

ELEMENT

PERFORMANCE CRITERIA

Elements describe the essential outcomes.

Performance criteria describe the performance needed to demonstrate achievement of the element.

1. Investigate the open-source paradigm

1.1 Examine the open-source paradigm and analyse the differences with traditional software development models

1.2 Investigate the types of online resources

1.3 Investigate the types of project documentation

1.4 Recognise the role of an online community, and international collaboration

1.5 Examine motivational factors for contributors to open-source code

1.6 Analyse the open-source licensing models

2. Familiarise with target project

2.1 Examine the online resources associated with the target project

2.2 Download pre-built executable binaries to install, and run, the project

2.3 Download and analyse the supporting documentation

3. Prepare for maintenance activities

3.1 Select, and register with, a relevant online community open-source group

3.2 Download nightly snapshots of the latest source code and the supporting documentation

3.3 Build and execute a snapshot, where appropriate

4. Maintain the code

4.1 Access the project bug database, and select the bugs to be resolved or the features to be added

4.2 Make changes to the local copy of the code, in order to resolve selected bugs

4.3 Test the resulting code to ensure that it performs appropriately

4.4 Prepare the code patch for submission

4.5 Submit a code patch to the project

4.6 Use the appropriate software-development tools and environment

5. Maintain the documentation

5.1 Access the project documentation

5.2 Prepare and contribute new information, or updates, to the existing documentation

5.3 Prepare and submit documented changes to the project

6. Participate in community

6.1 Exchange messages with other project members and actively participate in community activities

6.2 Take action to ensure that exchanges are socially acceptable

6.3 Submit the code and documentation code patches for inclusion

6.4 Access online project resources frequently, to keep up-to-date with the project and with community developments

6.5 Take action to ensure that community-participation standards are observed and maintained

Evidence of Performance

Evidence of the ability to:

contribute to an open-source project

program source code changes and/or additions

document changes or additions

investigate, utilise and participate in online resources for the project’s direction

build, modify, and test the code

participate in the online community.

Note: If a specific volume or frequency is not stated, then evidence must be provided at least once.


Evidence of Knowledge

To complete the unit requirements safely and effectively, the individual must:

explain debugging and testing techniques

describe documentation techniques, including internal documentation, user guides and technical documentation

explain open-source development methodology

describe online project communities, and their involvement in games development.


Assessment Conditions

Gather evidence to demonstrate consistent performance in conditions that are safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the programming and software development industry, and include access to:

the software development environment

the internet

technical requirements

databases

information repositories

programming languages

group-facilitation software.

Assessors must satisfy NVR/AQTF assessor requirements.


Foundation Skills

This section describes language, literacy, numeracy and employment skills incorporated in the performance criteria that are required for competent performance.

Skill

Performance Criteria

Description

Reading

1.1, 1.2, 1.3, 1.6, 2.1, 2.3, 4.1

Interprets complex technical, and non-technical, information from a range of sources

Writing

2.2, 2.3, 3.1, 4.2, 4.4, 5.2, 5.3, 6.1

Selects the vocabulary, grammatical structures and conventions, appropriate to the context and audience

Interact with others

6.1, 6.2, 6.5

Collaborates with others in order to achieve the best possible outcome

Selects and uses the appropriate conventions, and protocols, when conferring with community members

Get the work done

1.4, 1.5, 2.2, 2.3, 3.1, 3.2, 3.3, 4.1, 4.2, 4.3, 4.5, 4.6, 6.1, 6.2, 6.3, 6.4, 6.5

Applies analytical processes to resolve technical or conceptual problems

Systematically gathers and analyses all relevant information, and evaluates options in order to make informed decisions

Uses digital technologies to locate and store relevant information, and to communicate with others

Uses a range of sophisticated digital tools and techniques to meet the desired outcomes


Sectors

Programming and software development